// 导入定义仓库的函数
import { defineStore } from 'pinia'
import { computed, ref } from 'vue'

export const useCounterStore = defineStore('counter', () => {
    // store 里定义数据和修改数据的地方
    const count = ref(10)
    // 修改数据的方法
    const update = () => count.value++
    // 基于store中的数据计算新的数据，这个值是只读的
    const doubleCount = computed(() => count.value * 2)
    // 一个异步修改数据的方法
    const asyncUpdate = () => {
        // 网络请求
        setTimeout(()=> {
            count.value += 10
        }, 1000)
    }
    
    // 返回给 store 实例
    return { count, doubleCount, update, asyncUpdate }
})